<template>
	<view>
		<!-- 搜索栏 -->
		<!-- 自定义事件 - 子组件事件触发（携带子组件参数）  -->
		<!-- 父组件向子组件传参 ，子组件标签内  属性声明   变量=变量值    -->
		<mysearch @click="navtosearch" :radius="15"></mysearch>
		<!-- 首页的轮播图 -->
		<view class="goods-swiper">
			<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000">
				<swiper-item>
					<image src="../../static/lb1.jpg" style="width: 100%;"></image>
				</swiper-item>
				<swiper-item>
					<image src="../../static/lb2.jpg" style="width: 100%;"></image>
				</swiper-item>
				<swiper-item>
					<image src="../../static/lb3.jpg" style="width: 100%;"></image>
				</swiper-item>
			</swiper>
		</view>
		<!-- 首页的商品列表 -->
		<view class="goodslist">
			<uni-grid class="goodslistcontent" :column="5" :showBorder="false" :square="false">
				<uni-grid-item class="goodslistitem" v-for="(item,i) in goodsList" :key="i" @click="navtosnjd">
					<image class="goodslistimg" :src="item.img_src" mode="widthFix"></image>
					<text class="text">{{item.img_title}}</text>
				</uni-grid-item>
			</uni-grid>
		</view>
		<!-- 首页的商品 -->
		<view class="product-list">
			<view class="product-list-1" style="width: 170px; height: 300px;">
				<image style="width: 170px; height: 170px;" src="https://img12.360buyimg.com/n1/jfs/t1/136921/26/32336/101262/64980417Fcbf55114/36b147e7d985b6f0.jpg" mode=""></image>
				<view>松下（Panasonic）空调滢风系列 1.5匹 新一级能效 变频冷暖两用空调挂机</view>
				<view style="font-size: 22px; color: red;">￥3748.00</view>
				<view style="margin-top: 5px;">松下电器（panasonic）空调旗舰店</view>
			</view>
			<view class="product-list-1" style="width: 170px; height: 300px;">
				<image style="width: 170px; height: 170px;" src="https://img14.360buyimg.com/n1/jfs/t1/209752/32/37122/141492/64988072F0c638c1c/b1b0931b2934c15b.jpg" mode=""></image>
				<view>宏碁（acer） 宏基掠夺者擎NEO2023款暗影骑士擎</view>
				<view style="font-size: 22px; color: red;">￥7699.00</view>
				<view style="margin-top: 5px;">宏碁蓝星专卖店</view>
			</view>
		</view>
	</view>
</template>

<script>
	import {
		mapGetters
	} from "vuex"
	export default {
		data() {
			return {
				//1. 准备商品列表数据
				goodsList: []
			};
		},
		// 计算属性
		computed: {
			// ...   扩展运算符 ： 形式上展开			
			// mapGetters("模块名",[getters中方法名,getters中方法名,...])
			...mapGetters("m_car", ["total"])
			// mapGetters("getters中方法名","getters中方法名",...)
		},
		// 页面打开的时候，购物车显示右上角徽章
		onShow() {
			uni.setTabBarBadge({
				index: 2,
				text: this.total + ""
			})
		},
		//2. 当页面加载后异步交互获取数据
		onLoad() {
			//触发获取数据函数
			this.getGoodsList()
		},
		methods: {
			// 获取接口中的数据 async 非阻塞方式
			async getGoodsList() {
				// 连接接口获取数据  http://localhost:3000/home
				// 跨域保护机制 - 浏览器
				// 原因 ：  浏览器不接收，
				// 解决：  服务器端 header请求头设置
				//  promise 单独一条异步操作
				// 连缀嵌套promise  --  async+await

				// await  运算符        表达式
				const {
					data: {
						goods_list: res
					}
				} = await uni.$http.get("http://localhost:3000/home")
				// promise.resolve()直接封装的一个promise对象
				// console.log(res);
				this.goodsList = res
				// const address = await uni.chooseAddress().catch(e=>e)
				// console.log(address)
			},
			navtosearch() {
				// console.log("子组件触发");
				// 跳转到搜索页  search.vue  非tabbar
				// 分包 subpkg
				uni.navigateTo({
					url: "/subpkg/search/search"
				})
			},
			navtosnjd() {
				uni.navigateTo({
					url: "/subpkg/suningjiadian/suningjiadian"
				})
				// console.log("hello");
			},
			// 首页购物车右上角显示徽章
		}
	}
</script>

<style lang="scss">
	.goods-swiper {
		margin-top: 20px;
	}

	.goodslist {
		margin-top: 10rpx;
		padding-left: 45rpx;

		.goodslistcontent {
			border-radius: 15rpx;
			margin-left: 5rpx;
			padding-left: 5rpx;

			.goodslistitem {
				margin: 5rpx 0;

				.goodslistimg {
					width: 60rpx;
				}

				.text {
					font-size: 30rpx;
				}
			}
		}
	}

	.product-list {
		margin-top: 20px;
		display: flex;
		justify-content: center;
		justify-items: center;

		.product-list-1 {
			font-size: 30rpx;
			margin: 10rpx;
		}
	}
</style>